开源 / 社群分享版。本包已内置 124 个模板 TXT,你不需要自己解析例图,也不提供例图原图。
---
把一张客户照片,自动匹配出 4 张最合适的人像海报模板,再用 ChatGPT 网页端生成出来,最后把 4 张生成图回传到飞书。
三段分工:
| 阶段 | 谁来做 | 做什么 |
|---|---|---|
| 客户分析 + 审美复排 | Mimo API | 分析客户照片,从 124 个模板里召回 Top10 候选,再复排出 Top4 |
| 最终生图 | ChatGPT 网页端(你本地 Chrome) | 把 Top4 模板 + 客户照片发给 ChatGPT,生成 4 张图 |
| 入口 + 回传 | 飞书 | 在飞书发客户照片,接收 4 张生成图,给反馈 |
Mimo 只负责客户分析和审美复排,不负责最终生图。最终生图依赖 ChatGPT 网页端 + 你本地的 Chrome 登录态。
---
分享版默认是安全模式,不会真的连飞书、不会真的生图:
FEISHU_ENABLE_REAL_API=0
FEISHU_DRY_RUN=1
等你准备好真的接入飞书,再改成:
FEISHU_ENABLE_REAL_API=1
FEISHU_DRY_RUN=0
以下内容是私密信息,绝对不要分享给别人:
- .env(你的真实 API Key、飞书密钥)<br>- Chrome 登录态目录(.chrome-chatgpt-debug-profile/ 等)<br>- 客户照片/ 里的客户图片<br>- 生成结果/ 里的生成结果
---
整个系统只有一套模板评分:每个模板 txt 里的 scoring_notes.total_manual_score。
- Top10:用模板 txt 的 retrieval_text 做候选召回,不按评分硬筛。低分模板可以出现在 Top10 候选里。<br>- Top4:读候选模板当前的 total_manual_score 做复排,最终 Top4 前有本地兜底校验:<br> - <70 分:不能进入最终 Top4。<br> - 70-74 分:弱兜底,候选不足时才用,并打 warning。<br> - 75-79 中性、80-84 优质、≥85 高分(但仍要看客户匹配度,不会无脑固定选高分模板)。<br>- 飞书反馈:会直接覆盖对应模板 txt 的 total_manual_score,小分按原比例缩放,不改 final_human_label,不保留旧分数历史。
本系统不使用global_template_feedback.json、飞书反馈加权表、boosted/penalized/global_blocked、或任何独立全局反馈记忆文件。反馈就是改模板 txt 的分数本身。
---
如果当前客户的 Top4 跟上一个客户的 Top4 有 3 张或以上重复,系统会打 warning 并触发 rerank / 补位,避免每个客户都展示同一批高分模板。Top4 会综合:客户适配度、风格多样性、身份还原风险、生成稳定性、当前 total_manual_score。
---
npm.cmd install
.env复制 .env.example 为 .env,填入你自己的 Mimo Key:
MIMO_API_KEY=你的_mimo_key
MIMO_BASE_URL=https://api.xiaomimimo.com/v1
MIMO_MODEL=mimo-v2.5
飞书部分默认是安全模式,先不用填。
npm.cmd run open-login
在打开的 Chrome 窗口里登录 ChatGPT。检查登录是否成功:
npm.cmd run test-open
生图阶段用的是项目内持久化 Chrome profile(<项目根目录>/.chrome-chatgpt-debug-profile)。不要用临时 / 未登录的 Chrome。
---
从 Top4 生成 4 张图:
npm.cmd run generate-images -- --top4-json 审美结果/client_xxx_top4.json --client-photo-dir 客户照片/client_xxx --output-dir 生成结果/client_xxx --max-parallel 4
要点:
- generate-images 不会复用上一个客户的 generation_manifest 或输出目录。<br>- manifest 匹配会校验 client_id / template_id / source_txt_path,不会只按 rank=1/2/3/4 复用旧结果。
---
生图完成后进入 waiting_feedback。你可以连续多次反馈,例如:
第2张 90分 主体清晰,背景简洁
第3张 75分 脸不像
第1张 60分 氛围不对
每条反馈只回写当前轮次对应那张图的模板 txt,回写后本轮继续保持 waiting_feedback。
只有发送 无反馈 / 结束本轮 / 下一单 时,才关闭当前轮次。
反馈直接覆盖模板 txt 的 total_manual_score,下一轮的 Top4 会自动读到新分数。
---
打包 / 分享前,跑一次脱敏自检,确认没有泄漏你的私密信息:
npm.cmd run open-source:check
它会检查:.env 是否删除、是否还有真实 Key / 飞书密钥 / open_id、是否还有 Chrome 登录态、客户照片、生成结果、运行日志、飞书运行态 JSON、模板是否 124 个齐全、文档里有没有个人绝对路径、是否还有旧的 global feedback memory 遗留逻辑等。
---
| 目录 / 文件 | 说明 |
|---|---|
输出结果/run_20260604-191910917/1.txt … 124.txt | 124 个模板 TXT(核心资产,已内置) |
模板索引/current_template_index.json | 模板索引缓存,Top10 召回直接读它 |
scripts/ | 全部脚本(Mimo、飞书、生图、自检) |
agents/ prompts/ schemas/ | Agent 配置、提示词、数据结构 |
docs/ | 本教程及其他文档 |
.env.example | 安全模式占位配置(不是真实 Key) |
---
npm.cmd run build-pdf-tutorial
它会根据本 markdown 重新生成 docs/PDF_TUTORIAL.html,并在你的环境里存在 PDF 渲染器时尝试输出 docs/飞书-Mimo-ChatGPT人像海报工作流零基础教程-v1.0.pdf。
没有 PDF 渲染器时,用浏览器打开 docs/PDF_TUTORIAL.html,选择「打印 → 另存为 PDF」即可。本 PDF 里不含任何真实 API Key、真实路径或真实客户信息。